-
Notifications
You must be signed in to change notification settings - Fork 0
commit of homework no. 9 - classes and inheritance #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
patrikcelko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zhrnul by som to asi tak, že to je napísané objektovo, avšak máš tam menšie nezrovnalosti s štandardom písania kódu, ktoré by som rád aby si si opravila. Avšak najviac ma zarazila metóda number_of_throwen_sticks, ktorá mi nedáva vôbec zmysel a rád by som ju videl opravenú, preto bohužiaľ approve nebude 😿.
| self.name = name | ||
|
|
||
| def play(self): | ||
| print(f'{self.name} plays on {self.instrument}') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Čo ak self.instrument nie je definované (je rovné None)? Nebolo by to dobré nejako ošetriť? Ideálny spôsob, ako napísať takúto abstraktnú triedu (to je taká trieda, že sama o sebe sa nepoužíva na instanciovanie, ale ako nejaký spoločný rodič ďalších pod-tried - ono to má svoj význam v polymorfizme), tak sa dáva na časť, ktoré závisia od rodičov vyvolanie výnimky NotImplementedError. V skratke ak neexistuje self.instrument, tak vyhodíš výnimku NotImplementedError.
| def throw_a_stick(self): | ||
| self.number_of_sticks += 1 | ||
|
|
||
| def number_of_throwen_sticks(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Táto celá metóda mi nejak nedáva zmysel, okrem toho posledného výpisu na konci. V prvom kroku máš if, ktorý kontroluje, či metóda .throw_a_stick() vráti niečo, čo by sa dokázalo vyhodnotiť ako True. Avšak metóda throw_a_stick je technicky procedúra a jej návratová hodnota je vždy None. Čo je vždy False, plus ako bonus sa nám pridá jedna vyhodená palička. A nakoniec ešte pridáš ďalšie 2? To nechápem už vôbec.
Ahoj, nahrávám úkol z poslední hodiny na OOP. Moje kreativita do značné míry selhala a tak jsem vytvořila třídy členů kapely. Díky za zhodnocení 🐎